Installing cygwin is pretty easy. Just download the Installer from the cygwin homepage.
After you have selected a download mirror, you will be prompted a "Select Packages" Window. We need Python for the upload script sw/common/upload.py and the memory file generator script sw/common/vhd.py, so check if its node is set to Default (This should suffice).
The Devel node contains 'make', 'subversion', 'binutils' and the 'gcc'. These packages should be selected by default.
You can download the WebPack here if you haven't already installed it.
The hardware build script xilinx/Makefile assumes that you have installed the WebPack at "C:\Xilinx". If your installation is located somewhere else, don't forget to adjust the build script.
Download and extract pySerial. Open cygwin and navigate into the pySerial directory. Type
python setup.py install
If you still get some error when using the upload script, you probably need to install pyWin as well.Go to Cygwin Mirror Sites and download the newest source packages 'binutils-*-src.tar.bz', 'gcc-core-*-src.tar.bz' as well as 'mpfr-*-src.tar.bz'.
export TARGET=mips-elf
mkdir build-binutils
mkdir build-mpfr
mkdir build-gcc
First we define some global variables. In cygwin type line-by-line:
export PREFIX=/usr/local/$TARGET
export PATH=$PATH:$PREFIX/bin
cd build-binutils
../binutils/configure --target=$TARGET --prefix=$PREFIX
make
make install
cd ..
cd build-mpfr
../mpfr/configure -–target=$TARGET -–prefix=$PREFIX
make
make install
cd ..
cd build-gcc
../gcc/configure --with-newlib --without-headers --enable-languages="c" \
--target=$TARGET --prefix=$PREFIX --with-gnu-ld --with-gnu-as --disable-libssp \
--with-mpfr=$PREFIX
make
make install
cd ..